package 方法的覆盖;
//方法的覆盖
/*
回顾方法重载;Overload
在同一个类中，方法名相同，参数列表不同：类型，顺序，个数可以构成方法的重载
关于JAVA语言中方法的覆盖：
方法覆盖又被称为方法重写：Override
此时，我不想三个类都输出动物在移动，比如我猫类输出猫在走猫步，鸟输出鸟儿在飞翔，
此时父类中的方法无法满足子类中的需求，就可以将父类中继承过来的方法进行重写即覆盖
方法覆盖之后，子类在重新调用的时候一定调用方法重写之后的方法
方法覆盖发生在：
1.具有继承关系的子类和父类之间，
2.返回值相同，方法名相同，参数类表相同，
3.访问权限不能更低，可以更高（只能写比public访问权限更高的关键字）
4.抛出异常不能更多，只能更少（以后讲）
私有方法不能继承，所以不能覆盖
构造方法不能继承，所以不能覆盖
静态方法不存在覆盖（讲完多态后解释）
覆盖只针对方法不谈属性
 */
public class OverrideTest {
  public static void main(String[] args) {
    //创建动物对象
    Animal a=new Animal();
    a.move();
    //创建猫科类对象
    cat b=new cat();
    b.move();
    //创建飞禽类对象
    bird c=new bird();
    c.move();
  }
}
